Ruby on rails 新手-视图中的Rails视图
我正在尝试做一个两列的布局。左侧的列是导航,右侧的列是内容 当选择相应的导航时,是否有办法在右div的不同时间显示Ruby on rails 新手-视图中的Rails视图,ruby-on-rails,ruby-on-rails-3,model-view-controller,view,controller,Ruby On Rails,Ruby On Rails 3,Model View Controller,View,Controller,我正在尝试做一个两列的布局。左侧的列是导航,右侧的列是内容 当选择相应的导航时,是否有办法在右div的不同时间显示show.html.erb、edit.html.erb和new.html.erb,而不重新加载整个页面 我知道我可以对左div使用partial,并呈现新页面,但我希望避免为每个视图单独加载页面 项目控制员: def index @item = item.find(:all, :order => "id DESC") end def new @item = i
show.html.erb
、edit.html.erb
和new.html.erb
,而不重新加载整个页面
我知道我可以对左div使用partial,并呈现新页面,但我希望避免为每个视图单独加载页面
项目控制员:
def index
@item = item.find(:all, :order => "id DESC")
end
def new
@item = item.new
end
def create
@item = item.new(params[:item])
if @item.save
redirect_to root_path
else
render "new"
end
end
def edit
@item = item.find(params[:id])
end
def update
@item = item.find(params[:id])
if @item.update_attributes(params[:item])
redirect_to root_path
else
render "index"
end
end
HTML:
我建议修改
app/views/layouts/application.html.erb
<div id="left">
<p><%= link_to "Current_Item", item_path %></p>
<p><%= Link_to "Add_Item", new_item_path %></p>
<p><%= Link_to "Edit_Item", edit_item_path %></p>
</div>
<div id="right">
<%= yield %>
</div>
我喜欢它。然后,对于页面右侧部分调用的每个适当操作,应自动呈现show.html.erb、edit.html.erb和new.html.erb
视图
我还推荐这是一个关于rails的很好的教程。然后继续了解更多信息。是“但我正试图避免单独加载页面”意味着您希望通过ajax而不是全新页面加载视图?如果是这样,那么您的链接应该是远程链接
,并且您的视图应该使用相应视图的内容更新div id='right'
您的链接应该使用:remote=>true
选项
您的视图应该响应以更新
中的内容
有更多的见解。谢谢你的帮助。我也会看看你提供的额外资源。谢谢。这是非常棒的信息。
resources :items
<div id="left">
<p><%= link_to "Current_Item", item_path %></p>
<p><%= Link_to "Add_Item", new_item_path %></p>
<p><%= Link_to "Edit_Item", edit_item_path %></p>
</div>
<div id="right">
<%= yield %>
</div>