2

我有一组部分用于根据用户从下拉菜单中的选择来更新表单的一部分。有很多不同的选择,所以不要像这样拥有一个视图文件夹:

app/views/myview/
  _choice001.html.erb
  _choice002.html.erb
  ...
  _choice998.html.erb
  _choice999.html.erb
  _form.html.erb
  _sharedchoicestuff1.html.erb
  _sharedchoicestuff2.html.erb
  edit.html.erb
  new.html.erb

我想这样布置:

app/views/myview/
  choices/
    _choice001.html.erb
    _choice002.html.erb
    ...
    _choice998.html.erb
    _choice999.html.erb
    _sharedchoicestuff1.html.erb
    _sharedchoicestuff2.html.erb
  _form.html.erb
  edit.html.erb
  new.html.erb

如果我这样做,那么我知道我需要在表单中更改render :partial => whateverrender :partial => "myview/choices/#{whatever}"OK,但我不想在所有选择模板中更改它。有没有办法添加'。到视图路径,所以我仍然可以render :partial => 'sharedchoicestuff1'在选择模板中。

4

1 回答 1

2

只需为此创建一个助手:

def render_choice(name)
  render "myview/choices/#{name}"
end
于 2010-09-17T13:52:45.713 回答