是否可以将文本内容提取到视图中?

时间:2013-01-29 10:28:52

标签: ruby-on-rails ruby-on-rails-3

有这些文件

  • 视图/ sign_up / new.html.erb
  • 视图/ sign_up / content.text.erb

我想在此text_area中显示content.text.erb的内容为默认值 我怎么能?

视图/ sign_up / new.html.erb

<%= text_area :page, :content, :readonly => 'true', :size => '250x10' %>

视图/ sign_up / content.text.erb

Hello

Are you seeing this?


This should be at Line 6.

2 个答案:

答案 0 :(得分:2)

根据docs,您需要设置@page.content(因为您的前两个参数:page:content)。如果这是不可能的,我会回到标准的“硬编码”文本区域,如<textarea><%= render file: "sign_up/content" -%></textarea>

答案 1 :(得分:1)

虽然我没有测试过,但您的答案应该是这样的:

<%= text_area :page, :content, :readonly => 'true', :size => '250x10', :value => render_to_string("/sign_up/content") %>

您可能需要对html_safe

返回的字符串应用render_to_string

更新:

在尝试自己之后我遇到了错误,所以我想出了一个解决方法:

1 - 以下列方式在控制器中设置@val:

@val = render_to_string(:file => "/sign_up/content.html.erb", :layout => false)

2 - 然后在你看来:

<%= text_area :page, :content, :readonly => 'true', :size => '250x10', :value => @val %>

充当魅力。

如果您不想使用textarea的value属性,可以将步骤1中的值分配给@page.content,它将自动作为默认值插入到表单输入中。